<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Os1: /home/alejandro/Desarrollo eclipse/os1/include/Sim3Solver.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Os1
   &#160;<span id="projectnumber">1</span>
   </div>
   <div id="projectbrief">OrbSlam2 documentado y modificado</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,'Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('_sim3_solver_8h_source.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">Sim3Solver.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="_sim3_solver_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#ifndef SIM3SOLVER_H</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#define SIM3SOLVER_H</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;opencv2/opencv.hpp&gt;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_key_frame_8h.html">KeyFrame.h</a>&quot;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespace_o_r_b___s_l_a_m2.html">ORB_SLAM2</a></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;{</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html">   54</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html">Sim3Solver</a></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;{</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#ac4825895bc1a5a74fc71cd4fbfd4f2a6">Sim3Solver</a>(<a class="code" href="class_o_r_b___s_l_a_m2_1_1_key_frame.html">KeyFrame</a>* pKF1, <a class="code" href="class_o_r_b___s_l_a_m2_1_1_key_frame.html">KeyFrame</a>* pKF2, <span class="keyword">const</span> std::vector&lt;MapPoint*&gt; &amp;vpMatched12, <span class="keyword">const</span> <span class="keywordtype">bool</span> bFixScale = <span class="keyword">true</span>);</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#ab90d591f1b9eac3d846efd35c2c04920">SetRansacParameters</a>(<span class="keywordtype">double</span> probability = 0.99, <span class="keywordtype">int</span> minInliers = 6 , <span class="keywordtype">int</span> maxIterations = 300);</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    cv::Mat <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a34ba62d5d8033ab12a811c241f30544b">find</a>(std::vector&lt;bool&gt; &amp;vbInliers12, <span class="keywordtype">int</span> &amp;nInliers);</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    cv::Mat <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#ae07cddad85e41611bd454f8026de31a6">iterate</a>(<span class="keywordtype">int</span> nIterations, <span class="keywordtype">bool</span> &amp;bNoMore, std::vector&lt;bool&gt; &amp;vbInliers, <span class="keywordtype">int</span> &amp;nInliers);</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    cv::Mat <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a9cf5646f2530a074e30320ae5cf1cb4b">GetEstimatedRotation</a>();</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    cv::Mat <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a27f28d7708a7215279751e592a17d0d5">GetEstimatedTranslation</a>();</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a3942b204d02957269bad6a00c03a1e4b">GetEstimatedScale</a>();</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#aad8da5d1d78fcd8d6511ad29d9cb6db5">ComputeCentroid</a>(cv::Mat &amp;P, cv::Mat &amp;Pr, cv::Mat &amp;C);</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a87ee2729feee5729397c650b26927a8f">ComputeSim3</a>(cv::Mat &amp;P1, cv::Mat &amp;P2);</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a7abb9ede799e916a5c5954c2c8da09c7">CheckInliers</a>();</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#af44c59a21d53b04ec7f867b8291dcf25">Project</a>(<span class="keyword">const</span> std::vector&lt;cv::Mat&gt; &amp;vP3Dw, std::vector&lt;cv::Mat&gt; &amp;vP2D, cv::Mat Tcw, cv::Mat K);</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#afbe734fae65ebb9b1c9a38ebd3bacbc3">FromCameraToImage</a>(<span class="keyword">const</span> std::vector&lt;cv::Mat&gt; &amp;vP3Dc, std::vector&lt;cv::Mat&gt; &amp;vP2D, cv::Mat K);</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    <span class="comment">// KeyFrames and matches</span></div><div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a719501a8d39a83a81a67d7334704f42c">  153</a></span>&#160;    <a class="code" href="class_o_r_b___s_l_a_m2_1_1_key_frame.html">KeyFrame</a>* <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a719501a8d39a83a81a67d7334704f42c">mpKF1</a>;</div><div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#abc8fbea249fc4397c901694b7ecbe2bf">  154</a></span>&#160;    <a class="code" href="class_o_r_b___s_l_a_m2_1_1_key_frame.html">KeyFrame</a>* <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#abc8fbea249fc4397c901694b7ecbe2bf">mpKF2</a>;</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a9674b6ca24874c387ebd38b9f1a4560a">  156</a></span>&#160;    std::vector&lt;cv::Mat&gt; <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a9674b6ca24874c387ebd38b9f1a4560a">mvX3Dc1</a>;</div><div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#afa91dd6da039c45e15d7713eae0c60b7">  157</a></span>&#160;    std::vector&lt;cv::Mat&gt; <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#afa91dd6da039c45e15d7713eae0c60b7">mvX3Dc2</a>;</div><div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#af4ea0c3fb99c1db31b40d4f0f0bcc749">  158</a></span>&#160;    std::vector&lt;MapPoint*&gt; <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#af4ea0c3fb99c1db31b40d4f0f0bcc749">mvpMapPoints1</a>;</div><div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a752181b1c6efe5cc79b0204af7edf44b">  159</a></span>&#160;    std::vector&lt;MapPoint*&gt; <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a752181b1c6efe5cc79b0204af7edf44b">mvpMapPoints2</a>;</div><div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#aa86f37922ef6499404aadc3b0a2526c7">  160</a></span>&#160;    std::vector&lt;MapPoint*&gt; <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#aa86f37922ef6499404aadc3b0a2526c7">mvpMatches12</a>;</div><div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a81ad716802ccd2a3761882a796a0205d">  161</a></span>&#160;    std::vector&lt;size_t&gt; <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a81ad716802ccd2a3761882a796a0205d">mvnIndices1</a>;</div><div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#af44092ee71f95ec084db6b0144bbfc40">  162</a></span>&#160;    std::vector&lt;size_t&gt; <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#af44092ee71f95ec084db6b0144bbfc40">mvSigmaSquare1</a>;</div><div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#afd96d2f2d32f1cda0e709c5b704f1f7b">  163</a></span>&#160;    std::vector&lt;size_t&gt; <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#afd96d2f2d32f1cda0e709c5b704f1f7b">mvSigmaSquare2</a>;</div><div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a5f739ba98d0da8c39c04e9396a697443">  164</a></span>&#160;    std::vector&lt;size_t&gt; <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a5f739ba98d0da8c39c04e9396a697443">mvnMaxError1</a>;</div><div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a26ca815b24366cf32e9ce065be4ab8a7">  165</a></span>&#160;    std::vector&lt;size_t&gt; <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a26ca815b24366cf32e9ce065be4ab8a7">mvnMaxError2</a>;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;</div><div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a8081f9438c71d5cdf9fc2aacf985136c">  167</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a8081f9438c71d5cdf9fc2aacf985136c">N</a>;</div><div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a366db3149066adadf76fa4f4ecb39d50">  168</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a366db3149066adadf76fa4f4ecb39d50">mN1</a>;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;    <span class="comment">// Current Estimation</span></div><div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#afc5eba1e475226a4ab7f0d0de8fc6e48">  171</a></span>&#160;    cv::Mat <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#afc5eba1e475226a4ab7f0d0de8fc6e48">mR12i</a>;</div><div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a7747196dceb3ef3d2dc341e7aff798aa">  172</a></span>&#160;    cv::Mat <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a7747196dceb3ef3d2dc341e7aff798aa">mt12i</a>;</div><div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a6ba87aac963290a1b18172573890a50a">  173</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a6ba87aac963290a1b18172573890a50a">ms12i</a>;</div><div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a299a04a059df22bd4b7938a4ade791c3">  174</a></span>&#160;    cv::Mat <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a299a04a059df22bd4b7938a4ade791c3">mT12i</a>;</div><div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#add3bff26c47ec9d454ea3efe92630e77">  175</a></span>&#160;    cv::Mat <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#add3bff26c47ec9d454ea3efe92630e77">mT21i</a>;</div><div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a0c909819990b1b62edc9aba6c7e7d94f">  176</a></span>&#160;    std::vector&lt;bool&gt; <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a0c909819990b1b62edc9aba6c7e7d94f">mvbInliersi</a>;</div><div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#abc2d59150f4f6f446032cdb6bb77ee43">  177</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#abc2d59150f4f6f446032cdb6bb77ee43">mnInliersi</a>;</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;    <span class="comment">// Current Ransac State</span></div><div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a2fc877cd37c96ad164bbf36f2a6cd5e9">  180</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a2fc877cd37c96ad164bbf36f2a6cd5e9">mnIterations</a>;</div><div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#ac2f1c6a9abd3fef76f18ab0e9665e2ea">  181</a></span>&#160;    std::vector&lt;bool&gt; <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#ac2f1c6a9abd3fef76f18ab0e9665e2ea">mvbBestInliers</a>;</div><div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#af19a65050bd50bcf65f7cf48683c8045">  182</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#af19a65050bd50bcf65f7cf48683c8045">mnBestInliers</a>;</div><div class="line"><a name="l00183"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#adb1eeb9e1774d656c4e8c77f5fc57539">  183</a></span>&#160;    cv::Mat <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#adb1eeb9e1774d656c4e8c77f5fc57539">mBestT12</a>;</div><div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a69cf052880d6e926e11b74e1b59a05e0">  184</a></span>&#160;    cv::Mat <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a69cf052880d6e926e11b74e1b59a05e0">mBestRotation</a>;</div><div class="line"><a name="l00185"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a9aca06ce2678d686a318266fe3262a0b">  185</a></span>&#160;    cv::Mat <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a9aca06ce2678d686a318266fe3262a0b">mBestTranslation</a>;</div><div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#ab10aee88f18c5a5b80aabb5c21a6489c">  186</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#ab10aee88f18c5a5b80aabb5c21a6489c">mBestScale</a>;</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;    <span class="comment">// Scale is fixed to 1 in the stereo/RGBD case</span></div><div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a39aa9674bb73b257e0d834cbec52acce">  189</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a39aa9674bb73b257e0d834cbec52acce">mbFixScale</a>;</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;    <span class="comment">// Indices for random selection</span></div><div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#abcc39b417f6d09e436d39712fb2a2b11">  192</a></span>&#160;    std::vector&lt;size_t&gt; <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#abcc39b417f6d09e436d39712fb2a2b11">mvAllIndices</a>;</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;    <span class="comment">// Projections</span></div><div class="line"><a name="l00195"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#af39b00b7b87b0d240503884a927e5f5b">  195</a></span>&#160;    std::vector&lt;cv::Mat&gt; <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#af39b00b7b87b0d240503884a927e5f5b">mvP1im1</a>;</div><div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a8e6a6be273522fdeeecd9fd7d3c07b9c">  196</a></span>&#160;    std::vector&lt;cv::Mat&gt; <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a8e6a6be273522fdeeecd9fd7d3c07b9c">mvP2im2</a>;</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;    <span class="comment">// RANSAC probability</span></div><div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#aba7cc52c8995b747eda6fbdb02e719b9">  199</a></span>&#160;    <span class="keywordtype">double</span> <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#aba7cc52c8995b747eda6fbdb02e719b9">mRansacProb</a>;</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;    <span class="comment">// RANSAC min inliers</span></div><div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a67cd1b0b3d88691f85776f85aed0c496">  202</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a67cd1b0b3d88691f85776f85aed0c496">mRansacMinInliers</a>;</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;    <span class="comment">// RANSAC max iterations</span></div><div class="line"><a name="l00205"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a98e30ee1a61e81e3f864b41e56eed0f6">  205</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a98e30ee1a61e81e3f864b41e56eed0f6">mRansacMaxIts</a>;</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;    <span class="comment">// Threshold inlier/outlier. e = dist(Pi,T_ij*Pj)^2 &lt; 5.991*mSigma2</span></div><div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#ad3d4d9b7d09902e156178987d5898625">  208</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#ad3d4d9b7d09902e156178987d5898625">mTh</a>;</div><div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a9ea7da2fe7cb33526dc3fd60b556cde8">  209</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a9ea7da2fe7cb33526dc3fd60b556cde8">mSigma2</a>;</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;    <span class="comment">// Calibration</span></div><div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#af802b30069d1bf8d7c6236a695525a10">  212</a></span>&#160;    cv::Mat <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#af802b30069d1bf8d7c6236a695525a10">mK1</a>;</div><div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#ae647640668c16a2716db73a43c812e7a">  213</a></span>&#160;    cv::Mat <a class="code" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#ae647640668c16a2716db73a43c812e7a">mK2</a>;</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;};</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;} <span class="comment">//namespace ORB_SLAM</span></div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="preprocessor">#endif // SIM3SOLVER_H</span></div><div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_a27f28d7708a7215279751e592a17d0d5"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a27f28d7708a7215279751e592a17d0d5">ORB_SLAM2::Sim3Solver::GetEstimatedTranslation</a></div><div class="ttdeci">cv::Mat GetEstimatedTranslation()</div><div class="ttdoc">Obtiene la traslación estimada para el cierre de bucle. </div><div class="ttdef"><b>Definition:</b> Sim3Solver.cc:375</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_a3942b204d02957269bad6a00c03a1e4b"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a3942b204d02957269bad6a00c03a1e4b">ORB_SLAM2::Sim3Solver::GetEstimatedScale</a></div><div class="ttdeci">float GetEstimatedScale()</div><div class="ttdoc">Obtiene la escala de acople estimada para el cierre de bucle. </div><div class="ttdef"><b>Definition:</b> Sim3Solver.cc:380</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_a299a04a059df22bd4b7938a4ade791c3"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a299a04a059df22bd4b7938a4ade791c3">ORB_SLAM2::Sim3Solver::mT12i</a></div><div class="ttdeci">cv::Mat mT12i</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:174</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_a7747196dceb3ef3d2dc341e7aff798aa"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a7747196dceb3ef3d2dc341e7aff798aa">ORB_SLAM2::Sim3Solver::mt12i</a></div><div class="ttdeci">cv::Mat mt12i</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:172</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_a366db3149066adadf76fa4f4ecb39d50"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a366db3149066adadf76fa4f4ecb39d50">ORB_SLAM2::Sim3Solver::mN1</a></div><div class="ttdeci">int mN1</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:168</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_a2fc877cd37c96ad164bbf36f2a6cd5e9"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a2fc877cd37c96ad164bbf36f2a6cd5e9">ORB_SLAM2::Sim3Solver::mnIterations</a></div><div class="ttdeci">int mnIterations</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:180</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_aa86f37922ef6499404aadc3b0a2526c7"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#aa86f37922ef6499404aadc3b0a2526c7">ORB_SLAM2::Sim3Solver::mvpMatches12</a></div><div class="ttdeci">std::vector&lt; MapPoint * &gt; mvpMatches12</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:160</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_af4ea0c3fb99c1db31b40d4f0f0bcc749"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#af4ea0c3fb99c1db31b40d4f0f0bcc749">ORB_SLAM2::Sim3Solver::mvpMapPoints1</a></div><div class="ttdeci">std::vector&lt; MapPoint * &gt; mvpMapPoints1</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:158</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_a9aca06ce2678d686a318266fe3262a0b"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a9aca06ce2678d686a318266fe3262a0b">ORB_SLAM2::Sim3Solver::mBestTranslation</a></div><div class="ttdeci">cv::Mat mBestTranslation</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:185</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_afd96d2f2d32f1cda0e709c5b704f1f7b"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#afd96d2f2d32f1cda0e709c5b704f1f7b">ORB_SLAM2::Sim3Solver::mvSigmaSquare2</a></div><div class="ttdeci">std::vector&lt; size_t &gt; mvSigmaSquare2</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:163</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_ab10aee88f18c5a5b80aabb5c21a6489c"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#ab10aee88f18c5a5b80aabb5c21a6489c">ORB_SLAM2::Sim3Solver::mBestScale</a></div><div class="ttdeci">float mBestScale</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:186</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_abc2d59150f4f6f446032cdb6bb77ee43"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#abc2d59150f4f6f446032cdb6bb77ee43">ORB_SLAM2::Sim3Solver::mnInliersi</a></div><div class="ttdeci">int mnInliersi</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:177</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_a81ad716802ccd2a3761882a796a0205d"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a81ad716802ccd2a3761882a796a0205d">ORB_SLAM2::Sim3Solver::mvnIndices1</a></div><div class="ttdeci">std::vector&lt; size_t &gt; mvnIndices1</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:161</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_ac4825895bc1a5a74fc71cd4fbfd4f2a6"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#ac4825895bc1a5a74fc71cd4fbfd4f2a6">ORB_SLAM2::Sim3Solver::Sim3Solver</a></div><div class="ttdeci">Sim3Solver(KeyFrame *pKF1, KeyFrame *pKF2, const std::vector&lt; MapPoint *&gt; &amp;vpMatched12, const bool bFixScale=true)</div><div class="ttdoc">Constructor del solucionador sim3, a partir de dos keyframes y un vector de puntos macheados...</div><div class="ttdef"><b>Definition:</b> Sim3Solver.cc:37</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_abcc39b417f6d09e436d39712fb2a2b11"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#abcc39b417f6d09e436d39712fb2a2b11">ORB_SLAM2::Sim3Solver::mvAllIndices</a></div><div class="ttdeci">std::vector&lt; size_t &gt; mvAllIndices</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:192</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_a6ba87aac963290a1b18172573890a50a"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a6ba87aac963290a1b18172573890a50a">ORB_SLAM2::Sim3Solver::ms12i</a></div><div class="ttdeci">float ms12i</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:173</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_add3bff26c47ec9d454ea3efe92630e77"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#add3bff26c47ec9d454ea3efe92630e77">ORB_SLAM2::Sim3Solver::mT21i</a></div><div class="ttdeci">cv::Mat mT21i</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:175</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_abc8fbea249fc4397c901694b7ecbe2bf"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#abc8fbea249fc4397c901694b7ecbe2bf">ORB_SLAM2::Sim3Solver::mpKF2</a></div><div class="ttdeci">KeyFrame * mpKF2</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:154</div></div>
<div class="ttc" id="_key_frame_8h_html"><div class="ttname"><a href="_key_frame_8h.html">KeyFrame.h</a></div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_aad8da5d1d78fcd8d6511ad29d9cb6db5"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#aad8da5d1d78fcd8d6511ad29d9cb6db5">ORB_SLAM2::Sim3Solver::ComputeCentroid</a></div><div class="ttdeci">void ComputeCentroid(cv::Mat &amp;P, cv::Mat &amp;Pr, cv::Mat &amp;C)</div><div class="ttdef"><b>Definition:</b> Sim3Solver.cc:218</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_afbe734fae65ebb9b1c9a38ebd3bacbc3"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#afbe734fae65ebb9b1c9a38ebd3bacbc3">ORB_SLAM2::Sim3Solver::FromCameraToImage</a></div><div class="ttdeci">void FromCameraToImage(const std::vector&lt; cv::Mat &gt; &amp;vP3Dc, std::vector&lt; cv::Mat &gt; &amp;vP2D, cv::Mat K)</div><div class="ttdoc">Proyecta puntos 3D expresados en las coordenadas de la cámara. </div><div class="ttdef"><b>Definition:</b> Sim3Solver.cc:408</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_a67cd1b0b3d88691f85776f85aed0c496"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a67cd1b0b3d88691f85776f85aed0c496">ORB_SLAM2::Sim3Solver::mRansacMinInliers</a></div><div class="ttdeci">int mRansacMinInliers</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:202</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_key_frame_html"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_key_frame.html">ORB_SLAM2::KeyFrame</a></div><div class="ttdoc">Cuadro clave, keyframe. </div><div class="ttdef"><b>Definition:</b> KeyFrame.h:79</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_ae07cddad85e41611bd454f8026de31a6"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#ae07cddad85e41611bd454f8026de31a6">ORB_SLAM2::Sim3Solver::iterate</a></div><div class="ttdeci">cv::Mat iterate(int nIterations, bool &amp;bNoMore, std::vector&lt; bool &gt; &amp;vbInliers, int &amp;nInliers)</div><div class="ttdoc">Ejecuta n iteraciones de Ransac. </div><div class="ttdef"><b>Definition:</b> Sim3Solver.cc:143</div></div>
<div class="ttc" id="namespace_o_r_b___s_l_a_m2_html"><div class="ttname"><a href="namespace_o_r_b___s_l_a_m2.html">ORB_SLAM2</a></div><div class="ttdoc">This file is part of ORB-SLAM2. </div><div class="ttdef"><b>Definition:</b> Converter.h:31</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_afa91dd6da039c45e15d7713eae0c60b7"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#afa91dd6da039c45e15d7713eae0c60b7">ORB_SLAM2::Sim3Solver::mvX3Dc2</a></div><div class="ttdeci">std::vector&lt; cv::Mat &gt; mvX3Dc2</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:157</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_a9ea7da2fe7cb33526dc3fd60b556cde8"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a9ea7da2fe7cb33526dc3fd60b556cde8">ORB_SLAM2::Sim3Solver::mSigma2</a></div><div class="ttdeci">float mSigma2</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:209</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_a5f739ba98d0da8c39c04e9396a697443"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a5f739ba98d0da8c39c04e9396a697443">ORB_SLAM2::Sim3Solver::mvnMaxError1</a></div><div class="ttdeci">std::vector&lt; size_t &gt; mvnMaxError1</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:164</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_af44092ee71f95ec084db6b0144bbfc40"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#af44092ee71f95ec084db6b0144bbfc40">ORB_SLAM2::Sim3Solver::mvSigmaSquare1</a></div><div class="ttdeci">std::vector&lt; size_t &gt; mvSigmaSquare1</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:162</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html">ORB_SLAM2::Sim3Solver</a></div><div class="ttdoc">Solucionador de transformación sim3 para cerrar bucles. </div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:54</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_a26ca815b24366cf32e9ce065be4ab8a7"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a26ca815b24366cf32e9ce065be4ab8a7">ORB_SLAM2::Sim3Solver::mvnMaxError2</a></div><div class="ttdeci">std::vector&lt; size_t &gt; mvnMaxError2</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:165</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_afc5eba1e475226a4ab7f0d0de8fc6e48"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#afc5eba1e475226a4ab7f0d0de8fc6e48">ORB_SLAM2::Sim3Solver::mR12i</a></div><div class="ttdeci">cv::Mat mR12i</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:171</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_af39b00b7b87b0d240503884a927e5f5b"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#af39b00b7b87b0d240503884a927e5f5b">ORB_SLAM2::Sim3Solver::mvP1im1</a></div><div class="ttdeci">std::vector&lt; cv::Mat &gt; mvP1im1</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:195</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_a7abb9ede799e916a5c5954c2c8da09c7"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a7abb9ede799e916a5c5954c2c8da09c7">ORB_SLAM2::Sim3Solver::CheckInliers</a></div><div class="ttdeci">void CheckInliers()</div><div class="ttdoc">Establece las marcas de inliers, reproyectando y comparando el error con un umbral. </div><div class="ttdef"><b>Definition:</b> Sim3Solver.cc:343</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_ac2f1c6a9abd3fef76f18ab0e9665e2ea"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#ac2f1c6a9abd3fef76f18ab0e9665e2ea">ORB_SLAM2::Sim3Solver::mvbBestInliers</a></div><div class="ttdeci">std::vector&lt; bool &gt; mvbBestInliers</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:181</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_a752181b1c6efe5cc79b0204af7edf44b"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a752181b1c6efe5cc79b0204af7edf44b">ORB_SLAM2::Sim3Solver::mvpMapPoints2</a></div><div class="ttdeci">std::vector&lt; MapPoint * &gt; mvpMapPoints2</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:159</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_af44c59a21d53b04ec7f867b8291dcf25"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#af44c59a21d53b04ec7f867b8291dcf25">ORB_SLAM2::Sim3Solver::Project</a></div><div class="ttdeci">void Project(const std::vector&lt; cv::Mat &gt; &amp;vP3Dw, std::vector&lt; cv::Mat &gt; &amp;vP2D, cv::Mat Tcw, cv::Mat K)</div><div class="ttdoc">Proyecta puntos 3D expresados en coordenadas del mundo, sobre una cámara. </div><div class="ttdef"><b>Definition:</b> Sim3Solver.cc:385</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_a9cf5646f2530a074e30320ae5cf1cb4b"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a9cf5646f2530a074e30320ae5cf1cb4b">ORB_SLAM2::Sim3Solver::GetEstimatedRotation</a></div><div class="ttdeci">cv::Mat GetEstimatedRotation()</div><div class="ttdoc">Obtiene la matriz rotación 3D estimada para el cierre de bucle. </div><div class="ttdef"><b>Definition:</b> Sim3Solver.cc:370</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_a9674b6ca24874c387ebd38b9f1a4560a"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a9674b6ca24874c387ebd38b9f1a4560a">ORB_SLAM2::Sim3Solver::mvX3Dc1</a></div><div class="ttdeci">std::vector&lt; cv::Mat &gt; mvX3Dc1</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:156</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_a34ba62d5d8033ab12a811c241f30544b"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a34ba62d5d8033ab12a811c241f30544b">ORB_SLAM2::Sim3Solver::find</a></div><div class="ttdeci">cv::Mat find(std::vector&lt; bool &gt; &amp;vbInliers12, int &amp;nInliers)</div><div class="ttdoc">Ejecuta el número máximo de iteraciones Ransac. </div><div class="ttdef"><b>Definition:</b> Sim3Solver.cc:212</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_af19a65050bd50bcf65f7cf48683c8045"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#af19a65050bd50bcf65f7cf48683c8045">ORB_SLAM2::Sim3Solver::mnBestInliers</a></div><div class="ttdeci">int mnBestInliers</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:182</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_ad3d4d9b7d09902e156178987d5898625"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#ad3d4d9b7d09902e156178987d5898625">ORB_SLAM2::Sim3Solver::mTh</a></div><div class="ttdeci">float mTh</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:208</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_af802b30069d1bf8d7c6236a695525a10"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#af802b30069d1bf8d7c6236a695525a10">ORB_SLAM2::Sim3Solver::mK1</a></div><div class="ttdeci">cv::Mat mK1</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:212</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_adb1eeb9e1774d656c4e8c77f5fc57539"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#adb1eeb9e1774d656c4e8c77f5fc57539">ORB_SLAM2::Sim3Solver::mBestT12</a></div><div class="ttdeci">cv::Mat mBestT12</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:183</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_a87ee2729feee5729397c650b26927a8f"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a87ee2729feee5729397c650b26927a8f">ORB_SLAM2::Sim3Solver::ComputeSim3</a></div><div class="ttdeci">void ComputeSim3(cv::Mat &amp;P1, cv::Mat &amp;P2)</div><div class="ttdoc">Implementación de Horn 1987, para computar la transformación de similaridad. </div><div class="ttdef"><b>Definition:</b> Sim3Solver.cc:229</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_a8081f9438c71d5cdf9fc2aacf985136c"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a8081f9438c71d5cdf9fc2aacf985136c">ORB_SLAM2::Sim3Solver::N</a></div><div class="ttdeci">int N</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:167</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_aba7cc52c8995b747eda6fbdb02e719b9"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#aba7cc52c8995b747eda6fbdb02e719b9">ORB_SLAM2::Sim3Solver::mRansacProb</a></div><div class="ttdeci">double mRansacProb</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:199</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_a39aa9674bb73b257e0d834cbec52acce"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a39aa9674bb73b257e0d834cbec52acce">ORB_SLAM2::Sim3Solver::mbFixScale</a></div><div class="ttdeci">bool mbFixScale</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:189</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_a69cf052880d6e926e11b74e1b59a05e0"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a69cf052880d6e926e11b74e1b59a05e0">ORB_SLAM2::Sim3Solver::mBestRotation</a></div><div class="ttdeci">cv::Mat mBestRotation</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:184</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_a0c909819990b1b62edc9aba6c7e7d94f"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a0c909819990b1b62edc9aba6c7e7d94f">ORB_SLAM2::Sim3Solver::mvbInliersi</a></div><div class="ttdeci">std::vector&lt; bool &gt; mvbInliersi</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:176</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_ae647640668c16a2716db73a43c812e7a"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#ae647640668c16a2716db73a43c812e7a">ORB_SLAM2::Sim3Solver::mK2</a></div><div class="ttdeci">cv::Mat mK2</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:213</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_a719501a8d39a83a81a67d7334704f42c"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a719501a8d39a83a81a67d7334704f42c">ORB_SLAM2::Sim3Solver::mpKF1</a></div><div class="ttdeci">KeyFrame * mpKF1</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:153</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_a8e6a6be273522fdeeecd9fd7d3c07b9c"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a8e6a6be273522fdeeecd9fd7d3c07b9c">ORB_SLAM2::Sim3Solver::mvP2im2</a></div><div class="ttdeci">std::vector&lt; cv::Mat &gt; mvP2im2</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:196</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_ab90d591f1b9eac3d846efd35c2c04920"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#ab90d591f1b9eac3d846efd35c2c04920">ORB_SLAM2::Sim3Solver::SetRansacParameters</a></div><div class="ttdeci">void SetRansacParameters(double probability=0.99, int minInliers=6, int maxIterations=300)</div><div class="ttdoc">Configuración de Ransac. </div><div class="ttdef"><b>Definition:</b> Sim3Solver.cc:117</div></div>
<div class="ttc" id="class_o_r_b___s_l_a_m2_1_1_sim3_solver_html_a98e30ee1a61e81e3f864b41e56eed0f6"><div class="ttname"><a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a98e30ee1a61e81e3f864b41e56eed0f6">ORB_SLAM2::Sim3Solver::mRansacMaxIts</a></div><div class="ttdeci">int mRansacMaxIts</div><div class="ttdef"><b>Definition:</b> Sim3Solver.h:205</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="_sim3_solver_8h.html">Sim3Solver.h</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.12 </li>
  </ul>
</div>
</body>
</html>
